package com.carleasoft.mps.cms.business.clerk.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.cms.business.clerk.bean.DealProcessEntity;
import com.carleasoft.mps.cms.business.clerk.bean.DealRecordEntity;
import com.carleasoft.mps.cms.business.clerk.bean.po.*;
import com.carleasoft.mps.cms.business.clerk.bean.vo.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author: yangHao
 * @createDate:2023/5/17
 * @description:
 */
public interface DealProcessService extends IService<DealProcessEntity> {
    boolean saveDeal(DealProcessPo dealProcessPo, HttpServletRequest request);

    boolean updateDeal(DealProcessPo dealProcessPo, HttpServletRequest request);

    DealProcessPo detail(DealProcessPo dealProcessPo);

    boolean stopAndStart(StopAndStartPo stopAndStartPo);

    boolean delete(DealProcessPo dealProcessPo);

    Page<PageQueryVo> pageQuery(Page page, PageQueryPo pageQueryPo);

    Page<PageQueryVo> doorPageQuery(Page page, PageQueryPo pageQueryPo);

    boolean doorSubmit(DoorSubmitPo doorSubmitPo, HttpServletRequest request);

    boolean check(DoorSubmitPo doorSubmitPo, HttpServletRequest request);

    Page<DisposePageVo> disposePageQuery(Page page, DisposePagePo disposePagePo, HttpServletRequest request);

    boolean disposeSave(DisposePagePo disposePagePo, HttpServletRequest request);

    DisposeDetailVo disposeDetail(DisposeDetailPo disposeDetailPo);

    boolean revocation(RevocationPo revocationPo);

    List<DealRecordEntity> record(DealProcessPo dealProcessPo);

    List<CategoryDoorVo> categoryDoor();

    DataCountVo dataCount();

    List<RankingVo> ranking();

    Page<CenterPageQueryVo> centerPageQuery(Page page, CenterPageQueryPo centerPageQueryPo);

    boolean dealProcessDownload( List<DisposePageVo> disposePageVoPage, HttpServletResponse response);
}
